Hello,
Layout DXL Column:
string Prefix = probeAttr_(current, "FJS_Prefix") "-" probeAttr_(obj, "Absolute Number")
displayRich Prefix
Filter: Project != FJS
Layout DXL Column:
string Prefix = probeAttr_(current, "FQ_Prefix") "-" probeAttr_(obj, "Absolute Number")
displayRich Prefix
Filter: Project != FQ
Traceablity Matrix
// DXL generated by DOORS traceability wizard on 02 February 2012.
// Wizard version 2.0, DOORS version 9.3.0.0
pragma runLim, 0
int lines[1] = {0}
void adjustLines(int depth, showAtDepth) {
int count
for (count = 0; count < 1; count++) {
while (lines[depth-1] < lines[count]) {
if (depth == showAtDepth) displayRich("\\pard " " ")
lines[depth-1]++
}
}
}
void showOut(Object o, int depth) {
Link l
LinkRef lr
ModName_ otherMod = null
Module linkMod = null
ModuleVersion otherVersion = null
Object othero
string disp = null
string s = null
string plain, plainDisp
int plainTextLen
int count
bool doneOne = false
string linkModName = "*"
for l in all(o->linkModName) do {
otherVersion = targetVersion l
otherMod = module(otherVersion)
if (null otherMod || isDeleted otherMod) continue
othero = target l
if (null othero) {
load(otherVersion,false)
}
othero = target l
if (null othero) continue
if (isDeleted othero) continue
int oldLines = lines[depth-1]
adjustLines(depth, 1)
bool kick = (doneOne) && (lines[depth-1] == oldLines)
if (kick) {
lines[depth-1]++
if (depth == 1) displayRich("\\pard " " ")
}
if (depth < 1) {
showOut(othero, depth+1)
}
doneOne = true
if (depth == 1) {
s = name(otherMod)
if (isBaseline(otherVersion)) {
s = s " [" versionString(otherVersion) "]"
}
if (s == "")
displayRich("\\pard " " ")
else
displayRich("\\pard " s)
//Modified code
//I would like to have the "Project" attr to be at the module level rather than object level "probeRichAttr_(othero,"Project", false)"
//Is this even possible??????
s = probeRichAttr_(othero,"Project", false) "-" probeRichAttr_(othero,"Absolute Number", true)
if (s == "")
displayRich("\\pard " " ")
else
displayRich("\\pard " s)
s = probeRichAttr_(othero,"Object Text", true)
if (s == "")
displayRich("\\pard " " ")
else
displayRich("\\pard " s)
}
lines[depth-1] += 3
}
if (depth == 1) {
ExternalLink extLink
doneOne = false
for extLink in o->"" do {
if (!doneOne) {
displayRich("\\pard " "{\\b External Links:}")
doneOne = true
}
}
}
}
showOut(obj,1)
SystemAdmin - Thu Feb 02 23:32:57 EST 2012 |
Re: Layout DXL and traceability Matrix
So you have had two almost identical projects and you want to avoid keeping them as identical as possible; when a general requirement changes you want to change it once. So you decide to have just a single project, where most requirements apply to "both" but may only apply to one. When making layouts and reports for one project, you want the "Requirement ID" to refect the name of that project. Name Sample Value Notes "Prefix" "Sys_" system attribute "FQ_Prefix" "FQ-" custom "FJS_Prefix" "FJS-" custom
|
Re: Layout DXL and traceability Matrix llandale - Fri Feb 03 10:12:36 EST 2012
So you have had two almost identical projects and you want to avoid keeping them as identical as possible; when a general requirement changes you want to change it once. So you decide to have just a single project, where most requirements apply to "both" but may only apply to one. When making layouts and reports for one project, you want the "Requirement ID" to refect the name of that project. Name Sample Value Notes "Prefix" "Sys_" system attribute "FQ_Prefix" "FQ-" custom "FJS_Prefix" "FJS-" custom
I understand what you are saying but its not quite what I am trying to do. Currently we have two different names for the same Module depending on the project I would like to have a Layout DXl column to produce the trace matrix. I would like it to be a dynamically changing column so that the prefix is fixed accordingly. Currently we use the Modules name as the Prefix. So that is why I am trying to store that iformation at the Module level rather than the object level. Is it possible to get the Module level attr values using a Layout DXL column? Thank you, Jim |
Re: Layout DXL and traceability Matrix SystemAdmin - Sat Feb 04 00:09:53 EST 2012
Thank you.
// DXL generated by DOORS traceability wizard on 04 February 2012.
// Wizard version 2.0, DOORS version 9.3.0.4
pragma runLim, 0
int lines[1] = {0}
void adjustLines(int depth, showAtDepth) {
int count
for (count = 0; count < 1; count++) {
while (lines[depth-1] < lines[count]) {
if (depth == showAtDepth) displayRich("\\pard " " ")
lines[depth-1]++
}
}
}
void showOut(Object o, int depth) {
Link l
LinkRef lr
ModName_ otherMod = null
Module linkMod = null
ModuleVersion otherVersion = null
Object othero
string disp = null
string s = null
string plain, plainDisp
int plainTextLen
int count
bool doneOne = false
string linkModName = "*"
for l in all(o->linkModName) do {
otherVersion = targetVersion l
otherMod = module(otherVersion)
if (null otherMod || isDeleted otherMod) continue
othero = target l
if (null othero) {
load(otherVersion,false)
}
othero = target l
if (null othero) continue
if (isDeleted othero) continue
int oldLines = lines[depth-1]
adjustLines(depth, 1)
bool kick = (doneOne) && (lines[depth-1] == oldLines)
if (kick) {
lines[depth-1]++
if (depth == 1) displayRich("\\pard " " ")
}
if (depth < 1) {
showOut(othero, depth+1)
}
doneOne = true
if (depth == 1) {
// Modified.....
s = probeRichAttr_(module(othero),"FJS_name", true)
//
if (isBaseline(otherVersion)) {
s = s " [" versionString(otherVersion) "]"
}
if (s == "")
displayRich("\\pard " " ")
else
displayRich("\\pard " s)
// Modified.....
s = probeRichAttr_(module(othero),"FJS_Prefix", true) probeRichAttr_(othero,"Absolute Number", true)
//
if (s == "")
displayRich("\\pard " " ")
else
displayRich("\\pard " s)
s = probeRichAttr_(othero,"Object Text", true)
if (s == "")
displayRich("\\pard " " ")
else
displayRich("\\pard " s)
}
lines[depth-1] += 3
}
if (depth == 1) {
ExternalLink extLink
doneOne = false
for extLink in o->"" do {
if (!doneOne) {
displayRich("\\pard " "{\\b External Links:}")
doneOne = true
}
}
}
}
showOut(obj,1)
|
Re: Layout DXL and traceability Matrix SystemAdmin - Sat Feb 04 00:09:53 EST 2012
Sure. Down when you find "othero":
Module otherm = module(othero) |